/*
 * Copyright (c) 2001, 2002 Boris Pruessmann and others. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Common Public License v0.5 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/cpl-v05.html
 * 
 * Contributors: Boris Pruessmann - Initial implementation.
 */
package net.sourceforge.perforce.ui;

import org.eclipse.core.resources.IResource;

/**
 * @version $Revision: 488 $
 * @author <a href="mailto:bpruessmann@users.sourceforge.net">Boris
 *         Pruessmann</a>
 */
interface IDecorationNotifier {
  /**
   * Answers the next resource that needs decorating.
   * 
   * @return the next resource to decorate.
   */
  IResource next();

  /**
   * Called to associate a decoration to a resource.
   * 
   * @param resources array of decorated resources.
   * @param decorations the decorations.
   */
  void decorated(IResource[] resources, PerforceDecoration[] decorations);

  /**
   * Number of resources remaining to be decorated
   * 
   * @return number of resources to decorate.
   */
  int remaining();
}
